time.h হেডার ফাইল এবং এর ফাংশনসমূহ

Computer Programming - সি স্ট্যান্ডার্ড লাইব্রেরি রেফারেন্স (C Standard Library Reference) Date এবং Time Functions (ডেট এবং টাইম ফাংশনস) |
200
200

time.h হেডার ফাইল এবং এর ফাংশনসমূহ

time.h হেডার ফাইলটি সি প্রোগ্রামিং ভাষায় সময় এবং তারিখ (Date and Time) সম্পর্কিত কাজের জন্য ব্যবহৃত হয়। এর মাধ্যমে প্রোগ্রামাররা বর্তমান সময় ও তারিখ নির্ধারণ, সময়ের হিসাব রাখা, এবং প্রোগ্রামিং কাজের টাইমিং পরিচালনা করতে পারেন।

এখানে time.h হেডার ফাইলের কিছু গুরুত্বপূর্ণ ফাংশন এবং তাদের ব্যাখ্যা দেওয়া হলো:


১. time() – বর্তমান সময় নির্ণয়

time() ফাংশনটি বর্তমান সময়কে time_t টাইপের একটি ভেরিয়েবলে রিটার্ন করে, যা UNIX epoch (1970 সালের 1 জানুয়ারি, 00:00:00 UTC) থেকে শুরু করে বর্তমান পর্যন্ত কতো সেকেন্ড পার হয়েছে তার মান প্রকাশ করে।

সিঙ্কট্যাক্স:

time_t time(time_t *seconds);

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    time_t current_time;
    current_time = time(NULL);  // বর্তমান সময় গ্রহণ

    printf("Current time in seconds since Epoch: %ld\n", current_time);
    return 0;
}

২. clock() – প্রোগ্রাম চালানোর সময় নির্ধারণ

clock() ফাংশনটি প্রোগ্রাম চালু হওয়ার পর থেকে CPU-এর কতো সময় (clock ticks) অতিবাহিত হয়েছে, তা নির্ধারণ করে। এটি সাধারণত প্রোগ্রামের কার্যকারিতা বিশ্লেষণের জন্য ব্যবহৃত হয়।

সিঙ্কট্যাক্স:

clock_t clock(void);

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    clock_t start, end;
    double cpu_time_used;

    start = clock();
    // কোড যা সময় নিতে পারে
    for (long i = 0; i < 1000000; i++);
    end = clock();

    cpu_time_used = ((double) (end - start)) / CLOCKS_PER_SEC;
    printf("CPU time used: %f seconds\n", cpu_time_used);
    return 0;
}

৩. difftime() – সময়ের পার্থক্য নির্ণয়

difftime() ফাংশনটি দুটি time_t টাইপের সময়ের মধ্যে পার্থক্য নির্ণয় করে এবং এটি সেকেন্ডে রিটার্ন করে।

সিঙ্কট্যাক্স:

double difftime(time_t end, time_t start);

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    time_t start, end;

    start = time(NULL);
    // কিছু কাজ যা সময় নিতে পারে
    for (long i = 0; i < 1000000; i++);
    end = time(NULL);

    printf("Time difference: %.2f seconds\n", difftime(end, start));
    return 0;
}

৪. mktime() – গঠনমূলক সময়কে time_t টাইপে রূপান্তর করা

mktime() ফাংশনটি struct tm টাইপের একটি গঠনমূলক সময়কে time_t টাইপে রূপান্তর করে, যা epoch সময়ের সেকেন্ড রিটার্ন করে।

সিঙ্কট্যাক্স:

time_t mktime(struct tm *timeptr);

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    struct tm timeinfo = {0};
    timeinfo.tm_year = 2023 - 1900;
    timeinfo.tm_mon = 11 - 1;
    timeinfo.tm_mday = 10;

    time_t timestamp = mktime(&timeinfo);
    printf("Timestamp for 2023-11-10: %ld\n", timestamp);
    return 0;
}

৫. asctime() – গঠনমূলক সময়কে পাঠযোগ্য স্ট্রিংয়ে রূপান্তর করা

asctime() ফাংশনটি struct tm টাইপের একটি গঠনমূলক সময়কে পাঠযোগ্য স্ট্রিংয়ে রূপান্তর করে। এটি সপ্তাহের দিন, মাস, দিন, সময় এবং বছর সহ স্ট্রিং রিটার্ন করে।

সিঙ্কট্যাক্স:

char *asctime(const struct tm *timeptr);

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    time_t current_time = time(NULL);
    struct tm *timeinfo = localtime(¤t_time);

    printf("Current time: %s", asctime(timeinfo));
    return 0;
}

৬. ctime() – সময়কে পাঠযোগ্য স্ট্রিংয়ে রূপান্তর করা

ctime() ফাংশনটি time_t টাইপের সময়কে পাঠযোগ্য স্ট্রিংয়ে রূপান্তর করে। এটি asctime() এর মতোই কাজ করে, তবে time_t টাইপকে সরাসরি রূপান্তর করে।

সিঙ্কট্যাক্স:

char *ctime(const time_t *time);

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    time_t current_time = time(NULL);

    printf("Current time: %s", ctime(¤t_time));
    return 0;
}

৭. strftime() – সময় এবং তারিখ ফরম্যাট করা

strftime() ফাংশনটি সময় এবং তারিখকে নির্দিষ্ট ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়।

সিঙ্কট্যাক্স:

size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr);

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    time_t current_time = time(NULL);
    struct tm *timeinfo = localtime(¤t_time);

    char buffer[80];
    strftime(buffer, sizeof(buffer), "Date: %Y-%m-%d, Time: %H:%M:%S", timeinfo);

    printf("%s\n", buffer);
    return 0;
}

ফরম্যাট কোড:

  • %Y – পূর্ণ বছর (e.g., 2023)
  • %m – মাস (01-12)
  • %d – দিন (01-31)
  • %H – ঘন্টা (00-23)
  • %M – মিনিট (00-59)
  • %S – সেকেন্ড (00-59)

৮. localtime()time_t থেকে স্থানীয় সময়ে রূপান্তর করা

localtime() ফাংশনটি time_t টাইপের সময়কে স্থানীয় সময় অনুযায়ী struct tm টাইপে রূপান্তর করে।

সিঙ্কট্যাক্স:

struct tm *localtime(const time_t *time);

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    time_t current_time = time(NULL);
    struct tm *timeinfo = localtime(¤t_time);

    printf("Year: %d\n", timeinfo->tm_year + 1900);
    printf("Month: %d\n", timeinfo->tm_mon + 1);
    printf("Day: %d\n", timeinfo->tm_mday);

    return 0;
}

৯. gmtime()time_t থেকে UTC সময়ে রূপান্তর করা

gmtime() ফাংশনটি time_t টাইপের সময়কে UTC (Coordinated Universal Time) সময় অনুযায়ী struct tm টাইপে রূপান্তর করে।

সিঙ্কট্যাক্স:

struct tm *gmtime(const time_t *time);

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    time_t current_time = time(NULL);
    struct tm *timeinfo = gmtime(¤t_time);

    printf("UTC Year: %d\n", timeinfo->tm_year + 1900);
    printf("UTC Month: %d\n", timeinfo->tm_mon + 1);
    printf("UTC Day: %d\n", timeinfo->tm_mday);

    return 0;
}

সারসংক্ষেপ

ফাংশনকাজউদাহরণ
time()বর্তমান সময় নির্ণয়time_t current = time(NULL);
clock()প্রোগ্রাম চালানোর সময় নির্ধারণclock_t c = clock();
difftime()দুটি সময়ের মধ্যে পার্থক্য নির্ণয়difftime(end, start);
mktime()গঠনমূলক সময়কে time_t টাইপে রূপান্তরmktime(&timeinfo);
asctime()গঠনমূলক সময়কে পাঠযোগ্য স্ট্রিংয়ে রূপান্তরasctime(&timeinfo);
ctime()time_t টাইপকে পাঠযোগ্য স্ট্রিংয়ে রূপান্তরctime(¤t);
strftime()সময় এবং তারিখ ফরম্যাট করাstrftime(buffer, size, format, &time);
localtime()time_t থেকে স্থানীয় সময়ে রূপান্তরlocaltime(¤t);
gmtime()time_t থেকে UTC সময়ে রূপান্তরgmtime(¤t);

time.h হেডার ফাইলটি সি প্রোগ্রামিংয়ে সময় এবং তারিখ সম্পর্কিত কাজগুলো সহজে সম্পন্ন করার জন্য গুরুত্বপূর্ণ। এর মাধ্যমে বর্তমান সময়, তারিখ নির্ধারণ এবং সময়ের পার্থক্য মাপা সহ আরও অনেক কার্যকর কাজ করা যায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion